package riven.club.common.repository;

import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.repository.NoRepositoryBean;

import javax.persistence.EntityManager;
import java.io.Serializable;
import java.util.List;
import java.util.Map;

/**
 * repo超类
 * JpaRepository接口 支持接口规范方法名查询。意思是如果在接口中定义的查询方法符合它的命名规则，就可以不用写实现
 * JpaSpecificationExecutor 简单实现toPredicate方法就可以实现复杂的查询
 * <p>
 * java接口可以继承多个接口
 *
 * @author 陈浩
 * @date 2021-10-13 17:19
 */
//使用了该注解的repository接口不会在运行时被创建实例，只会作为其他接口的父接口而被使用
@NoRepositoryBean
public interface AbstractRepository<T, ID extends Serializable> extends JpaRepository<T, ID>, JpaSpecificationExecutor<T> {

}
